運算子最基本的就是的加減乘除等於等等,除此之外還有進階的應用
指派
//比如我想把b的值指派給a,但要注意必須要用var宣告a,這樣才能指派值,用let宣告a的話,不管你怎麼指派都會是原來的值
var a = 10
var b = 20
a = b
print(a) //此時a的值就是等於b的值20
數值運算
除了基本的加減乘除外,還有餘數
var a = 1 + 2 //a等於3
var b = 1 - 2 //b等於-1
var c = 1 * 2 //c等於2
var d = 2 / 2 //d等於1
//餘數
var e = 1 % 2 //e等於1
複合指派運算子
就是把加減乘除等其他的數值運算加上指派符號
var n = 10
n += 2 //就是等於n = n + 2,所以現在n = 12
n -= 4 // n = 12 - 4 = 8
n *= 3 // n = 8 * 3 = 24
n /= 5 // n = 24 / 5 = 4
n %= 3 // n = 4 % 3 = 1
比較運算子
在比較運算子中會常用的情況就是判斷式,因為比較運算子返回的值是Bool布林值。
我們分為 :
1. 等於 ==
2. 不等於 !=
3. 大於 >
4. 小於 <
5. 大於等於 >=
6. 小於等於 <=
1 == 1 //true
1 == 2 //false
2 != 3 //true
3 != 3 //false
8 > 2 //true
8 > 19 //false
6 < 10 //true
6 < 4 //false
4 >= 3 //true
3 >= 3 //true
2 >= 3 //fasle
5 <= 6 //true
5 <= 5 //true
5 <= 4 //false
三元運算子
其實這個就是把if else縮短得簡潔語法
比如一個簡單的if else是
if 條件 {
答案1
} else {
答案2
}
//也就是我問題或是條件如果是成立的話會返回答案1的值或是指定的動作,反之就是返回答案2的值或是指定的動作
那我們可以看成 條件 ? 答案1 : 答案2
var n = 4
n = n + (n < 3 ? 1 : 2) //意思是如果我宣告的n < 3的話,n = n + 1,但如果不小於3,那就是n = n + 2
print(n) //此時會印出6,因為n = n + 2 = 4 + 2 = 6
空值聚合運算子
先判斷a是否為nil沒有值,如果a有值就強制解析a,是沒有值的話就返回b的值
a != nil ? a! : b
明天會介紹判斷式 !